package com.qingzhou.web.repository.entity;

import com.alibaba.excel.annotation.format.DateTimeFormat;
import com.alibaba.fastjson2.annotation.JSONField;
import com.mybatisflex.annotation.Column;
import com.mybatisflex.core.handler.Fastjson2TypeHandler;
import com.qingzhou.web.service.impl.convert.DictParent;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.util.Date;
import java.util.List;

@Data
public class ImgTestInfo {
    @ApiModelProperty(value = "影像号")
    private String imgNum;

    @JSONField(ordinal = 1)
    @ApiModelProperty(value = "检查日期")
    @DateTimeFormat("yyyy年MM月dd日")
    private Date testDate;

    @JSONField(ordinal = 2)
    @ApiModelProperty(value = "检查时间", notes = "字典 image_test_time_dict")
    @DictParent("image_test_time_dict")
    private String testTime;

    @JSONField(ordinal = 3)
    @ApiModelProperty(value = "方式", notes = "字典 img_test_type_dict")
    @DictParent("img_test_type_dict")
    private String testType;

    @JSONField(ordinal = 4)
    @ApiModelProperty(value = "其他时的方式", notes = "字典 other_img_test_type_dict")
    @DictParent("other_img_test_type_dict")
    private String otherTestType;

    @JSONField(ordinal = 5)
    @ApiModelProperty(value = "正常/异常", notes = "字典 sys_normal_abnormal")
    @DictParent("sys_normal_abnormal")
    private String testResult;

    @JSONField(ordinal = 6)
    @ApiModelProperty(value = "影像报告描述")
    private String reportDescribe;

    @JSONField(ordinal = 7)
    @ApiModelProperty(value = "结论")
    private String conclusion;

    @JSONField(ordinal = 8)
    @ApiModelProperty("胸部影像学")
    @Column(typeHandler = Fastjson2TypeHandler.class)
    List<ImgChestTestInfo> imgChestTestInfoList;

    @JSONField(ordinal = 9)
    @ApiModelProperty(value = "其他病灶位置")
    private String otherLocation;

    @JSONField(ordinal = 10)
    @ApiModelProperty(value = "影像学倾向")
    private String imagingTendency;

}
